Emit page-added before switch-page
authorMatthias Clasen <matthiasc@src.gnome.org>
Wed, 29 Mar 2006 15:20:21 +0000 (15:20 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 29 Mar 2006 15:20:21 +0000 (15:20 +0000)
ChangeLog
ChangeLog.pre-2-10
gtk/gtknotebook.c

index e98872f38f2732c9a962d193a1b174ba04555dbb..75cc8c36952bc0af93316e74aa2949b3ce40d0ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-29  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtknotebook.c (gtk_notebook_real_insert_page): Emit
+       page-added before switch-page.  (#335691, Christian Persch)
+
 2006-03-29  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle
index e98872f38f2732c9a962d193a1b174ba04555dbb..75cc8c36952bc0af93316e74aa2949b3ce40d0ce 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-29  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtknotebook.c (gtk_notebook_real_insert_page): Emit
+       page-added before switch-page.  (#335691, Christian Persch)
+
 2006-03-29  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle
index 54bef0845f22355a4e15be9f482056a47bd55ff8..27fef2a95cc8823e0fed7f605e0999550bbe0cf3 100644 (file)
@@ -3662,25 +3662,31 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook,
        gtk_widget_show (tab_label);
       else
        gtk_widget_hide (tab_label);
+
+    page->mnemonic_activate_signal =
+      g_signal_connect (tab_label,
+                       "mnemonic_activate",
+                       G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page),
+                       notebook);
     }
 
+  page->notify_visible_handler = g_signal_connect (child, "notify::visible",
+                                                  G_CALLBACK (page_visible_cb), notebook);
+
+  g_signal_emit (notebook,
+                notebook_signals[PAGE_ADDED],
+                0,
+                child,
+                position);
+
   if (!notebook->cur_page)
     {
       gtk_notebook_switch_page (notebook, page, 0);
       gtk_notebook_switch_focus_tab (notebook, NULL);
     }
 
-  page->notify_visible_handler = g_signal_connect (G_OBJECT (child), "notify::visible",
-                                                  G_CALLBACK (page_visible_cb), notebook);
   gtk_notebook_update_tab_states (notebook);
 
-  if (tab_label)
-    page->mnemonic_activate_signal =
-      g_signal_connect (tab_label,
-                       "mnemonic_activate",
-                       G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page),
-                       notebook);
-
   gtk_widget_child_notify (child, "tab-expand");
   gtk_widget_child_notify (child, "tab-fill");
   gtk_widget_child_notify (child, "tab-pack");
@@ -3689,12 +3695,6 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook,
   gtk_widget_child_notify (child, "position");
   gtk_widget_thaw_child_notify (child);
 
-  g_signal_emit (notebook,
-                notebook_signals[PAGE_ADDED],
-                0,
-                child,
-                position);
-
   return position;
 }